/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ocumed.applikation.benutzerverwaltung;

import ocumed.applikation.domainhandling.DomainHandler;
import ocumed.applikation.domainhandling.OcumedHandler;
import ocumed.domaene.benutzerverwaltung.DBenutzer;
import ocumed.persistenz.dao.BenutzerDAO;
import ocumed.teams.IArzt;
import ocumed.teams.IBenutzer;

/**
 *
 * @author apr3455
 * @author malcolm
 */
public class BenutzerLogin {
	
	DomainHandler dh;
	
	public BenutzerLogin() {
		dh = DomainHandler.getInstance();
	}
    
	
    public Boolean login(String username, String password){
    	// get user
    	IBenutzer user = (IBenutzer) dh.be.getIBenutzer(username);
        
    	if (user != null) {
    		
    		if (user.getBenutzerpasswort().equals(password)) {
    			
            	if (user.getiGruppe().getGruppetyp() == BenutzerDAO.typArzt) {
            		IArzt arzt = dh.be.getDArzt(user.getBenutzerid());
            		dh.setActIBenutzer(arzt);
            		return true;
            	}
            	
    			dh.setActIBenutzer(user);
    			return true;
    		}
        	
    	}
    	
		dh.setActIBenutzer(null);
    	return false;       
    }
    
    
    public String getBenutzerVorname(String username){
        IBenutzer user = (IBenutzer) dh.be.getIBenutzer(username);
        return user.getBenutzervorname();
    }
    
    public String getBenutzerNachname(String username){
        IBenutzer user = (IBenutzer) dh.be.getIBenutzer(username);
        return user.getBenutzernachname();
    }    
    
    public Integer getBenutzerId(){
    	
    	if (dh.getActIBenutzer() != null) {
            return dh.getActIBenutzer().getBenutzerid();
    	}

    	return null;
    }
    
    
    public Character getBenutzerType(){
    	IBenutzer ib = dh.getActIBenutzer();
    	
    	if (ib != null) {
    		
        	if (ib.getiGruppe().getGruppetyp() == BenutzerDAO.typArzt) {
        		return 'a';
        	} else if (ib.getiGruppe().getGruppetyp() == BenutzerDAO.typOrdinationshilfe) {
        		return 'o';
        	} else if (ib.getiGruppe().getGruppetyp() == BenutzerDAO.typSysamdin) {
        		return 'd';
        	} else if (ib.getiGruppe().getGruppetyp() == BenutzerDAO.typOptometristin) {
        		return 'p';
        	}
        	
    	}

        return null;
    }
    
}
